/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package db.core.interfaces;

import core.Course;
import core.Program;
import java.util.Collection;

/**
 *
 * @author Anton
 */
public interface ProgramDAOCore
{    
    Program getProgramById(long id);

    Collection<String> searchForStringPrograms(String beginsWith, int maxResult);
    Collection<Program> searchForObjectPrograms(String beginsWith);

    Collection<Program> getProgramsByName(String name);
    Collection<Program> getProgramsByProgramId(String programId);
    Collection<Program> getAllPrograms();

    void addCourseToProgram(Program program, Course course);
    void deleteCourseFromProgram(Program program, Course course);

    void addProgram(Program program);
    void updateProgram(Program program);
    void deleteProgram(Program program);
}
